﻿// Odatavalidator ver. 1.0 
// Copyright (c) Microsoft Corporation
// All rights reserved. 

// Licensed under the Apache License, Version 2.0 (the ""License"");
// you may not use this file except in compliance with the License. 
// You may obtain a copy of the License at 
//
//           http://www.apache.org/licenses/LICENSE-2.0 

// THIS CODE IS PROVIDED ON AN  *AS IS* BASIS, WITHOUT WARRANTIES OR 
// CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT
// LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS 
// FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. 

// See the Apache Version 2.0 License for specific language governing 
// permissions and limitations under the License.

namespace ODataValidator.Rule.Helper
{
    using System.Collections.Generic;

    public class IntegerCompare : IComparer<int>
    {
        public IntegerCompare(SortedType sortedType)
        {
            this.type = sortedType;
        }

        public int Compare(int x, int y)
        {
            x = 0 > x ? int.MaxValue : x;
            y = 0 > y ? int.MaxValue : y;
            return SortedType.ASC == this.type ? x.CompareTo(y) : -x.CompareTo(y);
        }

        private SortedType type;
    }
}
